package com.ruoyi.cbfa.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 社保方案详情对象 insurance_plan_detail
 * 
 * @author ruoyi
 * @date 2025-05-30
 */
public class   InsurancePlanDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 方案详情ID，主键 */
    private Long id;

    /** 方案类别ID，关联方案类别表 */
    @Excel(name = "方案类别ID，关联方案类别表")
    private Long categoryId;

    /** 险种名称 */
    @Excel(name = "险种名称")
    private String insuranceType;

    /** 缴费基数下限 */
    @Excel(name = "缴费基数下限")
    private BigDecimal baseMin;

    /** 缴费基数上限 */
    @Excel(name = "缴费基数上限")
    private BigDecimal baseMax;

    /** 公司缴纳比例(%) */
    @Excel(name = "公司缴纳比例(%)")
    private BigDecimal companyRatio;

    /** 公司固定缴纳金额 */
    @Excel(name = "公司固定缴纳金额")
    private BigDecimal companyFixedAmount;

    /** 个人缴纳比例(%) */
    @Excel(name = "个人缴纳比例(%)")
    private BigDecimal personalRatio;

    /** 个人固定缴纳金额 */
    @Excel(name = "个人固定缴纳金额")
    private BigDecimal personalFixedAmount;

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    /** 个人固定缴纳金额 */
    @Excel(name = "社保类型名称")
    private String categoryName;

    /** 删除标志（0代表存在 2代表删除） */
    private Long delFlag;

    /** 记录创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }

    public void setInsuranceType(String insuranceType) 
    {
        this.insuranceType = insuranceType;
    }

    public String getInsuranceType() 
    {
        return insuranceType;
    }

    public void setBaseMin(BigDecimal baseMin) 
    {
        this.baseMin = baseMin;
    }

    public BigDecimal getBaseMin() 
    {
        return baseMin;
    }

    public void setBaseMax(BigDecimal baseMax) 
    {
        this.baseMax = baseMax;
    }

    public BigDecimal getBaseMax() 
    {
        return baseMax;
    }

    public void setCompanyRatio(BigDecimal companyRatio) 
    {
        this.companyRatio = companyRatio;
    }

    public BigDecimal getCompanyRatio() 
    {
        return companyRatio;
    }

    public void setCompanyFixedAmount(BigDecimal companyFixedAmount) 
    {
        this.companyFixedAmount = companyFixedAmount;
    }

    public BigDecimal getCompanyFixedAmount() 
    {
        return companyFixedAmount;
    }

    public void setPersonalRatio(BigDecimal personalRatio) 
    {
        this.personalRatio = personalRatio;
    }

    public BigDecimal getPersonalRatio() 
    {
        return personalRatio;
    }

    public void setPersonalFixedAmount(BigDecimal personalFixedAmount) 
    {
        this.personalFixedAmount = personalFixedAmount;
    }

    public BigDecimal getPersonalFixedAmount() 
    {
        return personalFixedAmount;
    }

    public void setDelFlag(Long delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() 
    {
        return delFlag;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("categoryId", getCategoryId())
            .append("insuranceType", getInsuranceType())
            .append("baseMin", getBaseMin())
            .append("baseMax", getBaseMax())
            .append("companyRatio", getCompanyRatio())
            .append("companyFixedAmount", getCompanyFixedAmount())
            .append("personalRatio", getPersonalRatio())
            .append("personalFixedAmount", getPersonalFixedAmount())
            .append("delFlag", getDelFlag()) .append("categoryName", getCategoryName())

            .append("createdAt", getCreatedAt())
            .toString();
    }
}
